Chapter 17 Design Patterns and Design Principles for Internal Domain - Specific Languages
نویسنده
چکیده
Internal DSLs are a special kind of DSLs that use an existing programming language as their host. To build them successfully, knowledge regarding how to modify the host language is essential. In this chapter, the author contributes six DSL design principles and 21 DSL design patterns. DSL Design principles provide guidelines that identify specific design goals to shape the syntax and semantic of a DSL. DSL design patterns express proven knowledge about recurring DSL design challenges, their solution, and their connection to each other – forming a rich vocabulary that developers can use to explain a DSL design and share their knowledge. The chapter presents design patterns grouped into foundation patterns (which provide the skeleton of the DSL consisting of objects and methods), notation patterns (which address syntactic variations of host language expressions), and abstraction patterns (which provide the domain-specific abstractions as extensions or even modifications of the host language semantics).
منابع مشابه
Design Patterns and Design Principles for Internal Domain-Specific Languages
Internal DSLs are a special kind of DSLs that use an existing programming language as their host. To build them successfully, knowledge regarding how to modify the host language is essential. In this chapter, the author contributes six DSL design principles and 21 DSL design patterns. DSL Design principles provide guidelines that identify specific design goals to shape the syntax and semantic o...
متن کاملReuse Design Principles
Though many reuse design principles have been proposed, there is no generally accepted list which are independent of programming language and domain. This paper provides a generic list of reuse design principles for component based software development based on a preliminary analysis of the literature of software reuse and reuse design over the past few decades. Such a list is new because the r...
متن کاملPrinciples for modeling language design
Modeling languages, like programming languages, need to be designed if they are to be practical, usable, accepted, and of lasting value. We present principles for the design of modeling languages. To arrive at these principles, we consider the intended use of modeling languages. We conject that the principles are applicable to the development of new modeling languages, and for improving the des...
متن کاملA survey and classification of principles for domain-specific ontology design patterns development
Dynamic, networked service-oriented systems, like those found in manufacturing, logistics, or transportation, require efficient communication of capabilities of their services to enable on-the-fly integrations as a result of changing requirements. Previously, in a case of a manufacturing services network, we have shown the manufacturing service capability (MSC) information communication can be ...
متن کاملDesign Guidelines for Domain Specific Languages
Designing a new domain specific language is as any other complex task sometimes error-prone and usually time consuming, especially if the language shall be of high-quality and comfortably usable. Existing tool support focuses on the simplification of technical aspects but lacks support for an enforcement of principles for a good language design. In this paper we investigate guidelines that are ...
متن کامل